package Package.MethodReference.ReferenceConstructor;

public class ReferenceConstructor {
    public static String ReferenceConstructor() {
        useStudentBuilder((x, y) -> new Student(x, y));
        return "0";
    }

    private static void useStudentBuilder(StudentBuilder s) {
        Student stu = s.build("ChangCun", 28);
        System.out.println(stu.getName() + "--" + stu.getAge());
    }
}
//引用构造器，其实就是引用构造方法
//l格式
//类名::new
//范例
//Student::new
//练习描述
//定义一个类(Student)，里面有两个成员变量(name,age)
//并提供无参构造方法和带参构造方法，以及成员变量对应的get和set方法
//定义一个接口(StudentBuilder)，里面定义一个抽象方法
//Student build(String name,int age);
//定义一个测试类(StudentDemo)，在测试类中提供两个方法
//一个方法是：useStudentBuilder(StudentBuilder s)
//一个方法是主方法，在主方法中调用useStudentBuilder方法
//使用说明
//Lambda表达式被构造器替代的时候，它的形式参数全部传递给构造器作为参数